user_list = [
    {'username': 'enen', 'password': 'enen123', 'money': 100},
    {'username': 'haha', 'password': 'haha123', 'money': 0},
]
def get_user(user_name):            # 定义获取用户id的函数
    for user in user_list:          # 用user变量遍历user_list列表
        if user_name == user['username']:           # 当user的值等于list里的username时
            print(user_list.index(user))            # 输出它的检索
            return (user_list.index(user))+1

def check_login(user_name, pass_word):          # 定义检查登录的函数
    for user in user_list:          # 用user遍历user_list列表
        if user_name == user['username'] and pass_word == user['password']:           # 当用户名和密码都相等的时候，返回true值
            return True


def take_money(money):          # 定义一个取钱的函数
    i = input('请输入取出金额:')
    while not i.isdigit():          # 当输入的不是数字时
        i = input('输入有误！请重新输入金额：')          # 输出错误
    if i <= user_list[money]['money']:          # 当输入的取出金额小于列表内账号下的已有金额时
        user_list[money] =user_list[money] - i          # 余额减去取出的钱
        print('您账户的余额为：', user_list[money])
    else:
        print('您的余额为：', user_list[money], '不足', i, '元', '请重新输入')

def save_money(money):          # 定义一个存钱的函数
    i = input('清输入存储金额:')
    while not i.isdigit():          # 当输入的不是数字时
        i = input('输入有误！ 请重新输入金额: ')
    user_list[1]['money'] += int(i)

    print('您的余额为: ', user_list[money])

def trans_money(money):         # 定义一个转账的函数
    zhuanzhang = input('请输入对方用户名: ')
    i = get_user(zhuanzhang)
    if i:           # 如果账户存在
        m = input('输入转账金额: ')
        while not m.isdigit():
            m = input('输入错误！ 请重新输入转账金额：')

        if m <= user_list[money]['money']:          # 当转账金额小于余额时
            user_list[money] -= m
            user_list[i]['money'] += m
            print('操作成功！', '已向对方账户转: ', m, '您的账户余额为: ', user_list[money])
        else:
            print('您的账户余额不足，请重新输入：')
    else:           # 账户不存在
        print('该账户不存在！ 请重新输入： ')
def main():         # 定义主函数
    while True:         # 当对的时候，进入下列操作
        username = input('请输入账号: ')         #
        uid = get_user(username)            # 对比获取用户id的函数和列表里的是否相同
        print(uid)
        if uid:         # 如果账户相同，说明可以执行下步
            password = input('请输入密码: ')         # 账户相同后该输入密码了
            if check_login(username, password):
                print('登录成功！')
                while True:         # 当值为true时
                    print('1. 查询 '
                          '2. 取钱 '
                          '3. 存钱 '
                          '4. 转账 '
                          '5. 登出 ')
                    choice = input('请输入指令: ')
                    if choice == '1':
                        print('您的账户余额为： ', user_list[uid]['money'])
                    elif choice == '2':
                        take_money()
                    elif choice == '3':
                        save_money(1)
                    elif choice == '4':
                        trans_money()
                    elif choice == '5':
                        print('当前账号登出！')
                        break
                    else:
                        print('指令有误！请重新输入 ')
            else:
                print('密码错误！ 请重新输入 ')
        else:
            print("账户不存在！ 请重新输入 ")


main()









